package com.example.cruds.common;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder

public class Result{
    private static final String CODE_SUCCESS = "200";
    private static final String CODE_AUTH_ERROR = "401";
    private static final String CODE_SYS_ERROR = "500";

    // 200 成功   401 没有权限  500  后端错误

    private String code;  //状态码
    private String msg;   // 信息
    private Object data;  // 数据

    // 以上的code  msg  data  只是做项目必须要的三个字段，当然进了公司之后，还有可能会有很多的字段

    public static Result success(){
        return new Result(CODE_SUCCESS,"请求成功",null);
    }

    public static Result success(Object data){
        return new Result(CODE_SUCCESS,"请求成功",data);
    }

    public static Result error(String msg){
        return new Result(CODE_SYS_ERROR,msg,null);
    }
    public static Result error(String code,String msg){
        return new Result(code,msg,null);
    }

    public static Result error(){
        return new Result(CODE_SYS_ERROR,"系统错误",null);
    }

}
